package algoritmo.criteriodeparo;

import poblacion.Poblacion;

public class CriterioIterativo implements CriterioDeParo{
	
	private Integer iteracionesMaximas;
	private Integer iteraciones;
	
	public CriterioIterativo(Integer iteracionesMaximas) {
		super();
		this.iteracionesMaximas = iteracionesMaximas;
		this.iteraciones = Integer.valueOf(0);
	}

	@Override
	public Boolean cumpleCriterio(Poblacion poblacion) {

		if (iteraciones.compareTo(iteracionesMaximas)==0){
			//cumple
			System.out.println("Valor: "+poblacion.getCromosomas().get(0).getPuntuacion());
			System.out.println("Cumplio con el criterio de paro de: "+iteracionesMaximas.intValue()+" iteraciones");
			return true;
		}
		iteraciones++;
		System.out.println(iteraciones.intValue());
		System.out.println("Puntuacion: "+poblacion.getCromosomas().get(0).getPuntuacion());
		System.out.println("##### ##### #####");
		return false;
	}

}
